package model;

import java.util.ArrayList;

import javax.swing.table.DefaultTableModel;

import Entidades.Filial;
import Entidades.Projeto;

public class TableModel extends DefaultTableModel {

	private static final long serialVersionUID = 1L;

	public static enum modelTipo {
		PROJETO, TAREFA, USUARIO
	}

	public TableModel(modelTipo mt) {

		if (mt == modelTipo.PROJETO)
			this.setColumnIdentifiers(new String[] { "Codigo", "Projeto",
					"Gerente", "Custo Total", "Status", "Filial" });
		else if (mt == modelTipo.USUARIO)
			this.setColumnIdentifiers(new String[] { "Codigo", "Projeto",
					"Gerente", "Custo Total", "Status" });
		else if (mt == modelTipo.TAREFA)
			this.setColumnIdentifiers(new String[] { "Codigo", "Projeto",
					"Gerente", "Custo Total", "Status" });

	}

	public void adicionaProjetos(ArrayList<Projeto> projetos) {

		for (int i = 0; i < projetos.size(); i++) {

			String[] data = new String[this.getColumnCount()];

			data[0] = projetos.get(i).getCodigo();
			data[1] = projetos.get(i).getNome();
			data[2] = projetos.get(i).getGerente().toString();
			data[3] = String.valueOf(projetos.get(i).getCustoTotal());
			data[4] = String.valueOf(projetos.get(i).getStatus());
			data[5] = String.valueOf(Filial.getInstance().getNumero());

			this.addRow(data);
		}

	}

	public void atualizaProjetos(ArrayList<Projeto> projetos) {
		this.setRowCount(0);
		for (int i = 0; i < projetos.size(); i++) {

			String[] data = new String[this.getColumnCount()];

			data[0] = projetos.get(i).getCodigo();
			data[1] = projetos.get(i).getNome();
			data[5] = String.valueOf(projetos.get(i).getFilialNum());
			/*data[2] = projetos.get(i).getGerente().toString();
			data[3] = String.valueOf(projetos.get(i).getCustoTotal());
			data[4] = String.valueOf(projetos.get(i).getStatus());
			data[5] = String.valueOf(Filial.getInstance().getNumero());
*/			data[2] = "";
			data[3] = "";
			data[4] ="";
		

			this.addRow(data);
		}

	}

	public void adicionaProjeto(Projeto p) {
		String[] data = new String[this.getColumnCount()];

		data[0] = p.getCodigo();
		data[1] = p.getNome();
		// data[2] = p.getGerente().toString();
		data[3] = String.valueOf(p.getCustoTotal());
		data[4] = String.valueOf(p.getStatus());
		data[5] = String.valueOf(Filial.getInstance().getNumero());

		this.addRow(data);
	}

}
